package com.sg.controller.pbff;

import com.sg.service.biz.pbff.MessageService;
import com.sg.dto.biz.pbff.req.*;
import com.sg.dto.biz.pbff.res.*;
import com.sg.common.ro.OkrResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
@Api(value = "Message", tags = {"Message"})
@RestController
// @RequestMapping("/poms/message/")
public class MessageController {

    @Autowired
    MessageService messageService;

    /**
     * B2存档消息位置(管理)
     * gen by moon at 5/16/2023, 9:19:41 PM
     */
    @PostMapping("/oms/platform/mgt/message/archiveMessagePosition")
    @ApiOperation(value = "B2存档消息位置(管理)", response = OkrResult.class)
    public OkrResult<BffArchiveMessagePositionRespDto> archiveMessagePosition(@RequestBody(required = false) @Validated BffArchiveMessagePositionReqDto reqDTO) {
        return OkrResult.success(messageService.archiveMessagePosition(reqDTO));
    }

    /**
     * B2新增消息模板(管理)
     * gen by moon at 5/16/2023, 9:28:54 PM
     */
    @PostMapping("/oms/platform/mgt/message/addMessageTemplate")
    @ApiOperation(value = "B2新增消息模板(管理)", response = OkrResult.class)
    public OkrResult<BffAddMessageTemplateRespDto> addMessageTemplate(@RequestBody(required = false) @Validated BffAddMessageTemplateReqDto reqDTO) {
        return OkrResult.success(messageService.addMessageTemplate(reqDTO));
    }

    /**
     * B2查询消息模板列表(管理)
     * gen by moon at 5/16/2023, 9:28:57 PM
     */
    @PostMapping("/oms/platform/mgt/message/queryMessageTemplateList")
    @ApiOperation(value = "B2查询消息模板列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryMessageTemplateListRespDto> queryMessageTemplateList(@RequestBody(required = false) @Validated BffQueryMessageTemplateListReqDto reqDTO) {
        return OkrResult.success(messageService.queryMessageTemplateList(reqDTO));
    }

    /**
     * B2新增虚拟形象(管理)
     * gen by moon at 5/16/2023, 9:28:59 PM
     */
    @PostMapping("/oms/platform/mgt/message/addVirtualImage")
    @ApiOperation(value = "B2新增虚拟形象(管理)", response = OkrResult.class)
    public OkrResult<BffAddVirtualImageRespDto> addVirtualImage(@RequestBody(required = false) @Validated BffAddVirtualImageReqDto reqDTO) {
        return OkrResult.success(messageService.addVirtualImage(reqDTO));
    }

    /**
     * B2修改虚拟形象(管理)
     * gen by moon at 5/16/2023, 9:29:02 PM
     */
    @PostMapping("/oms/platform/mgt/message/updateVirtualImage")
    @ApiOperation(value = "B2修改虚拟形象(管理)", response = OkrResult.class)
    public OkrResult<BffUpdateVirtualImageRespDto> updateVirtualImage(@RequestBody(required = false) @Validated BffUpdateVirtualImageReqDto reqDTO) {
        return OkrResult.success(messageService.updateVirtualImage(reqDTO));
    }

    /**
     * B2删除虚拟形象(管理)
     * gen by moon at 5/16/2023, 9:29:04 PM
     */
    @PostMapping("/oms/platform/mgt/message/deleteVirtualImage")
    @ApiOperation(value = "B2删除虚拟形象(管理)", response = OkrResult.class)
    public OkrResult<BffDeleteVirtualImageRespDto> deleteVirtualImage(@RequestBody(required = false) @Validated BffDeleteVirtualImageReqDto reqDTO) {
        return OkrResult.success(messageService.deleteVirtualImage(reqDTO));
    }

    /**
     * B2存档虚拟形象(管理)
     * gen by moon at 5/16/2023, 9:29:07 PM
     */
    @PostMapping("/oms/platform/mgt/message/archiveVirtualImage")
    @ApiOperation(value = "B2存档虚拟形象(管理)", response = OkrResult.class)
    public OkrResult<BffArchiveVirtualImageRespDto> archiveVirtualImage(@RequestBody(required = false) @Validated BffArchiveVirtualImageReqDto reqDTO) {
        return OkrResult.success(messageService.archiveVirtualImage(reqDTO));
    }

    /**
     * B2查询虚拟形象详情(管理)
     * gen by moon at 5/16/2023, 9:29:09 PM
     */
    @PostMapping("/oms/platform/mgt/message/queryVirtualImageDetail")
    @ApiOperation(value = "B2查询虚拟形象详情(管理)", response = OkrResult.class)
    public OkrResult<BffQueryVirtualImageDetailRespDto> queryVirtualImageDetail(@RequestBody(required = false) @Validated BffQueryVirtualImageDetailReqDto reqDTO) {
        return OkrResult.success(messageService.queryVirtualImageDetail(reqDTO));
    }

    /**
     * B2查询虚拟形象列表(管理)
     * gen by moon at 5/16/2023, 9:29:12 PM
     */
    @PostMapping("/oms/platform/mgt/message/queryVirtualImageList")
    @ApiOperation(value = "B2查询虚拟形象列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryVirtualImageListRespDto> queryVirtualImageList(@RequestBody(required = false) @Validated BffQueryVirtualImageListReqDto reqDTO) {
        return OkrResult.success(messageService.queryVirtualImageList(reqDTO));
    }

    /**
     * B2新增成员虚拟形象(管理)
     * gen by moon at 5/16/2023, 9:29:15 PM
     */
    @PostMapping("/oms/platform/mgt/message/addMemberVirtualImage")
    @ApiOperation(value = "B2新增成员虚拟形象(管理)", response = OkrResult.class)
    public OkrResult<BffAddMemberVirtualImageRespDto> addMemberVirtualImage(@RequestBody(required = false) @Validated BffAddMemberVirtualImageReqDto reqDTO) {
        return OkrResult.success(messageService.addMemberVirtualImage(reqDTO));
    }

    /**
     * B2存档成员虚拟形象(管理)
     * gen by moon at 5/16/2023, 9:29:17 PM
     */
    @PostMapping("/oms/platform/mgt/message/archiveMemberVirtualImage")
    @ApiOperation(value = "B2存档成员虚拟形象(管理)", response = OkrResult.class)
    public OkrResult<BffArchiveMemberVirtualImageRespDto> archiveMemberVirtualImage(@RequestBody(required = false) @Validated BffArchiveMemberVirtualImageReqDto reqDTO) {
        return OkrResult.success(messageService.archiveMemberVirtualImage(reqDTO));
    }

    /**
     * B2删除成员虚拟形象(管理)
     * gen by moon at 5/16/2023, 9:29:19 PM
     */
    @PostMapping("/oms/platform/mgt/message/deleteMemberVirtualImage")
    @ApiOperation(value = "B2删除成员虚拟形象(管理)", response = OkrResult.class)
    public OkrResult<BffDeleteMemberVirtualImageRespDto> deleteMemberVirtualImage(@RequestBody(required = false) @Validated BffDeleteMemberVirtualImageReqDto reqDTO) {
        return OkrResult.success(messageService.deleteMemberVirtualImage(reqDTO));
    }

    /**
     * B2查询成员虚拟形象详情(管理)
     * gen by moon at 5/16/2023, 9:29:21 PM
     */
    @PostMapping("/oms/platform/mgt/message/queryMemberVirtualImageDetail")
    @ApiOperation(value = "B2查询成员虚拟形象详情(管理)", response = OkrResult.class)
    public OkrResult<BffQueryMemberVirtualImageDetailRespDto> queryMemberVirtualImageDetail(@RequestBody(required = false) @Validated BffQueryMemberVirtualImageDetailReqDto reqDTO) {
        return OkrResult.success(messageService.queryMemberVirtualImageDetail(reqDTO));
    }

    /**
     * B2查询成员虚拟形象列表(管理)
     * gen by moon at 5/16/2023, 9:29:24 PM
     */
    @PostMapping("/oms/platform/mgt/message/queryMemberVirtualImageList")
    @ApiOperation(value = "B2查询成员虚拟形象列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryMemberVirtualImageListRespDto> queryMemberVirtualImageList(@RequestBody(required = false) @Validated BffQueryMemberVirtualImageListReqDto reqDTO) {
        return OkrResult.success(messageService.queryMemberVirtualImageList(reqDTO));
    }

    /**
     * B2修改消息模板(管理)
     * gen by moon at 5/16/2023, 9:29:27 PM
     */
    @PostMapping("/oms/platform/mgt/message/updateMessageTemplate")
    @ApiOperation(value = "B2修改消息模板(管理)", response = OkrResult.class)
    public OkrResult<BffUpdateMessageTemplateRespDto> updateMessageTemplate(@RequestBody(required = false) @Validated BffUpdateMessageTemplateReqDto reqDTO) {
        return OkrResult.success(messageService.updateMessageTemplate(reqDTO));
    }

    /**
     * B2删除消息模板(管理)
     * gen by moon at 5/16/2023, 9:29:30 PM
     */
    @PostMapping("/oms/platform/mgt/message/deleteMessageTemplate")
    @ApiOperation(value = "B2删除消息模板(管理)", response = OkrResult.class)
    public OkrResult<BffDeleteMessageTemplateRespDto> deleteMessageTemplate(@RequestBody(required = false) @Validated BffDeleteMessageTemplateReqDto reqDTO) {
        return OkrResult.success(messageService.deleteMessageTemplate(reqDTO));
    }

    /**
     * B2存档消息模板(管理)
     * gen by moon at 5/16/2023, 9:29:33 PM
     */
    @PostMapping("/oms/platform/mgt/message/archiveMessageTemplate")
    @ApiOperation(value = "B2存档消息模板(管理)", response = OkrResult.class)
    public OkrResult<BffArchiveMessageTemplateRespDto> archiveMessageTemplate(@RequestBody(required = false) @Validated BffArchiveMessageTemplateReqDto reqDTO) {
        return OkrResult.success(messageService.archiveMessageTemplate(reqDTO));
    }

    /**
     * B2查询消息模板详情(管理)
     * gen by moon at 5/16/2023, 9:29:36 PM
     */
    @PostMapping("/oms/platform/mgt/message/queryMessageTemplateDetail")
    @ApiOperation(value = "B2查询消息模板详情(管理)", response = OkrResult.class)
    public OkrResult<BffQueryMessageTemplateDetailRespDto> queryMessageTemplateDetail(@RequestBody(required = false) @Validated BffQueryMessageTemplateDetailReqDto reqDTO) {
        return OkrResult.success(messageService.queryMessageTemplateDetail(reqDTO));
    }

    /**
     * B2-5新增消息位置(管理)
     * gen by moon at 5/16/2023, 9:29:40 PM
     */
    @PostMapping("/oms/platform/mgt/message/addMessagePosition")
    @ApiOperation(value = "B2-5新增消息位置(管理)", response = OkrResult.class)
    public OkrResult<BffAddMessagePositionRespDto> addMessagePosition(@RequestBody(required = false) @Validated BffAddMessagePositionReqDto reqDTO) {
        return OkrResult.success(messageService.addMessagePosition(reqDTO));
    }

    /**
     * B2-5查询消息位置详情(管理)
     * gen by moon at 5/16/2023, 9:29:43 PM
     */
    @PostMapping("/oms/platform/mgt/message/queryMessagePositionDetail")
    @ApiOperation(value = "B2-5查询消息位置详情(管理)", response = OkrResult.class)
    public OkrResult<BffQueryMessagePositionDetailRespDto> queryMessagePositionDetail(@RequestBody(required = false) @Validated BffQueryMessagePositionDetailReqDto reqDTO) {
        return OkrResult.success(messageService.queryMessagePositionDetail(reqDTO));
    }

    /**
     * B2-5查询消息位置列表(管理)
     * gen by moon at 5/16/2023, 9:29:46 PM
     */
    @PostMapping("/oms/platform/mgt/message/queryMessagePositionList")
    @ApiOperation(value = "B2-5查询消息位置列表(管理)", response = OkrResult.class)
    public OkrResult<BffQueryMessagePositionListRespDto> queryMessagePositionList(@RequestBody(required = false) @Validated BffQueryMessagePositionListReqDto reqDTO) {
        return OkrResult.success(messageService.queryMessagePositionList(reqDTO));
    }

    /**
     * B2-5删除消息位置(管理)
     * gen by moon at 5/16/2023, 9:29:50 PM
     */
    @PostMapping("/oms/platform/mgt/message/deleteMessagePosition")
    @ApiOperation(value = "B2-5删除消息位置(管理)", response = OkrResult.class)
    public OkrResult<BffDeleteMessagePositionRespDto> deleteMessagePosition(@RequestBody(required = false) @Validated BffDeleteMessagePositionReqDto reqDTO) {
        return OkrResult.success(messageService.deleteMessagePosition(reqDTO));
    }

    /**
     * B2-5修改消息位置(管理)
     * gen by moon at 5/16/2023, 9:29:53 PM
     */
    @PostMapping("/oms/platform/mgt/message/updateMessagePosition")
    @ApiOperation(value = "B2-5修改消息位置(管理)", response = OkrResult.class)
    public OkrResult<BffUpdateMessagePositionRespDto> updateMessagePosition(@RequestBody(required = false) @Validated BffUpdateMessagePositionReqDto reqDTO) {
        return OkrResult.success(messageService.updateMessagePosition(reqDTO));
    }

    /**
     * B2关闭或启用成员虚拟形象(管理)
     * gen by moon at 6/2/2023, 8:24:12 PM
     */
    @PostMapping("/oms/platform/mgt/message/updateMemberVirtualImage")
    @ApiOperation(value = "B2关闭或启用成员虚拟形象(管理)", response = OkrResult.class)
    public OkrResult<BffUpdateMemberVirtualImageRespDto> updateMemberVirtualImage(@RequestBody(required = false) @Validated BffUpdateMemberVirtualImageReqDto reqDTO) {
        return OkrResult.success(messageService.updateMemberVirtualImage(reqDTO));
    }

    /**
     * B3-执行多空间补偿初始化消息数量（平台）
     * gen by moon at 1/25/2024, 3:06:05 AM
     */
    @PostMapping("/oms/platform/message/implementMultiSpaceCompinitMsgLocQty")
    @ApiOperation(value = "B3-执行多空间补偿初始化消息数量（平台）", response = OkrResult.class)
    public OkrResult<BffImplementMultiSpaceCompinitMsgLocQtyRespDto> implementMultiSpaceCompinitMsgLocQty(@RequestBody(required = false) @Validated BffImplementMultiSpaceCompinitMsgLocQtyReqDto reqDTO) {
        return OkrResult.success(messageService.implementMultiSpaceCompinitMsgLocQty(reqDTO));
    }
}
